package main

import (
	"fmt"
	"reflect"
)

type Enum int

const Zero Enum = 0

func main() {

	var a int
	typeOfA := reflect.TypeOf(a)
	//变量的类型名为int，  种类为int
	fmt.Println(typeOfA.Name(), typeOfA.Kind())

	//对常量和结构体进行类型信息的获取
	type cat struct {
	}
	//获取结构实例的反射类型对象
	typeOfCat := reflect.TypeOf(cat{})
	//显示反射类型对象的名称 cat  和种类 struct
	fmt.Println(typeOfCat.Name(), typeOfCat.Kind())

	typeOfB := reflect.TypeOf(Zero)
	//显示Zero常量的反射类型对象的名称  Enum   和 种类 int
	fmt.Println(typeOfB.Name(), typeOfB.Kind())

}
